这里写目录标题
exp导出命令具体命令中,各参数的含义如下:11g版本空表不导出解决办法
遇到报错:ORA-12154: TNS: 无法解析指定的连接标识符
exp导出命令
exp 'username/"password"'@ORCL owner=username file =/backup/database_2023-04-12.dmp log=/logs/database_2023-04-12.log
具体命令中,各参数的含义如下:
username/“password”:指定数据库用户的用户名和密码,以双引号括起来。在此命令中,你需要将双引号替换为实际的用户名和密码。@ORCL:指定要连接的数据库实例名,这里使用 ORCL。owner=username:指定要导出的数据库用户的用户名,这里使用 username。file=/backup/database_2023-04-12.dmp:指定导出的数据库文件的路径和名称,这里的文件路径为 /backup 目录下的 database_2023-04-12.dmp 文件,你可以将这个路径替换为实际的文件路径。log=/logs/database_2023-04-12.log:指定导出过程的日志文件路径和名称,这里的日志文件路径为 /logs 目录下的 database_2023-04-12.log 文件,你可以将这个路径替换为实际的日志文件路径。
11g版本空表不导出解决办法
使用alter table xxx allocate extent;将空表分配数据块并将其添加到表的已分配空间中 使用如下命令构建所有空表分配语句
select 'alter table '||code||' allocate extent;' from
(select t1.TABLE_NAME as code
from DBA_TABLES t1
left join (
select OWNER, TABLE_NAME, COMMENTS
from DBA_TAB_COMMENTS
) t2
on t2.table_name = t1.table_name
and t1.owner = t2.owner
left join DBA_OBJECTS t3
on t3.owner = t1.owner
and t3.object_name = t1.table_name
and t3.object_type = 'TABLE'
left join (
select t4.OWNER, t4.SEGMENT_NAME, t4.SEGMENT_TYPE, SUM(t4.BYTES) as TABLE_SIZE
from DBA_SEGMENTS t4
where t4.SEGMENT_TYPE = 'TABLE'
group by t4.OWNER, t4.SEGMENT_NAME, t4.SEGMENT_TYPE
) t5
on t5.OWNER = t1.OWNER
and t5.SEGMENT_NAME = t1.TABLE_NAME
where t1.owner = '数据库schema名称'
and t1.TABLE_NAME not like 'BIN$%==$0'
and (t1.IOT_TYPE is null or t1.IOT_TYPE != 'IOT_OVERFLOW')
AND NOT EXISTS
(SELECT 1 FROM DBA_MVIEWS MV
WHERE MV.OWNER=T1.OWNER
AND MV.MVIEW_NAME=T1.TABLE_NAME) AND NUM_ROWS = 0)
;
执行命令后再导出
遇到报错:ORA-12154: TNS: 无法解析指定的连接标识符
原因:找不到orcl这个实例 解决:直接在orcl前加ip端口
exp 'username/"password"'@192.168.11.201:1521/ORCL owner=username file =/backup/database_2023-04-12.dmp log=/logs/database_2023-04-12.log
|